#include <stdio.h>
#include <stdlib.h>

typedef struct Node
{
    int data;
    struct Node* next;
}Node , *PNode;

PNode head;

void Insert (int data , int n)
{
    PNode temp1 = (PNode)malloc(sizeof(Node));
    temp1->data= data;
    temp1->next = NULL;
    if (n==1)
    {
        temp1->next = head;
        head = temp1;
        return;
    }
    PNode temp2 = head;
    for (int i = 0 ; i < n - 2 ; i++)
    {
        temp2 = temp2->next;
    }

    temp1->next = temp2->next;
    temp2->next = temp1;


}
void Print()
{
    PNode temp = head;
    while (temp != NULL)
    {
        printf ("%d " , temp->data);
        temp = temp->next;
    }
    printf ("\n");
}

int main ()
{
    head = NULL;
    Insert (2 , 1);
    Insert (3, 2) ;
    Insert (4, 1);
    Insert (5 , 2);
    Print();   












    
    return 0;
}